/*
 * Copyright (c) 2017. 杭州端点网络科技有限公司.  All rights reserved.
 */

package com.jiantong.web.core.cloud.service;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.InputStream;

/**
 * @author : panxin
 */
public interface FileServer {

    /**
     * @param path 上传到服务器上的路径(文件上传的路径以'/'根目录为起始目录)
     * @param file 文件
     * @return 文件上传后的相对路径
     * @throws Exception exception
     */
    String write(String path, MultipartFile file) throws Exception;

    /**
     * @param path 上传到服务器上的路径
     * @param file 文件文件
     * @return 文件上传后的相对路径
     * @throws Exception exception
     */
    String write(String path, File file) throws Exception;

    /**
     * @param path        上传到服务器上的路径
     * @param inputStream 文件流
     * @return 文件上传后的相对路径
     * @throws Exception exception
     */
    String write(String path, InputStream inputStream) throws Exception;

    /**
     * 刪除文件
     *
     * @param path 文件名
     * @return 是否刪除成功
     * @throws Exception exception
     */
    boolean delete(String path) throws Exception;
}
